
Nombre:
Xara 3D
Versión:
3.04
Editor:
UltraEdit
Víctima:
XARA3D304.EXE
Herramientas:
W32Dasm v8.93
HIEW v6.16
Cerebro
Cracker:
LW2000
Tutorial:
número 17
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Bien, vamos a la pantalla de registro
e introducimos los detalles. ¡Booom! “You entered an invalid unlock code.”
¡Parece que hemos encontrado un ‘bug’! Vamos a corregirlo.
2.
Cargamos W32Dasm con ‘XARA3D304.EXE’.
Hacemos click en las String Data References y buscamos nuestro texto. Hacemos
doble click y cerramos la ventana SDR. Ahora deberíamos poder ver esto:
* Possible Reference to String Resource ID=03005:
"You entered an invalid unlock code."
3.
Nos desplazamos un poco hacia arriba
hasta ver esto:
* Referenced by a (U)nconditional or (C)onditional
Jump at Addresses:
|:0040FA34(C), :0040FA48(C), :0040FA64(C), :0040FA80(C),
:0040FA9C(C)
|:0040FAB8(C), :0040FAD4(C), :0040FAF0(C), :0040FB5D(C)
4.
Vamos a echar un vistazo ahí. Vamos a
la posición de código ‘0040FA34’:
:0040FA34 0F85DC010000 jne 0040FC16 >Primera comprobación
:0040FA3A 0FBE10 movsx edx, byte ptr [eax]
:0040FA3D 52 push edx
:0040FA3E E89D7E0500 call 004678E0
:0040FA43 83C404 add esp, 00000004
:0040FA46 85C0 test eax, eax
:0040FA48 0F84C8010000 je 0040FC16 >Segunda
comprobación
:0040FA4E 8B842440010000 mov eax, dword ptr [esp+00000140]
:0040FA55 0FBE4801 movsx ecx, byte ptr [eax+01]
:0040FA59 51 push ecx
:0040FA5A E8817E0500 call 004678E0
:0040FA5F 83C404 add esp, 00000004
:0040FA62 85C0 test eax, eax
:0040FA64 0F84AC010000 je 0040FC16 >Tercera comprobación
:0040FA6A 8B942440010000 mov edx, dword ptr [esp+00000140]
:0040FA71 0FBE4202 movsx eax, byte ptr [edx+02]
:0040FA75 50 push eax
:0040FA76 E8657E0500 call 004678E0
:0040FA7B 83C404 add esp, 00000004
:0040FA7E 85C0 test eax, eax
:0040FA80 0F8490010000 je 0040FC16 >Cuarta
comprobación
:0040FA86 8B8C2440010000 mov ecx, dword ptr [esp+00000140]
:0040FA8D 0FBE5103 movsx edx, byte ptr [ecx+03]
:0040FA91 52 push edx
:0040FA92 E8497E0500 call 004678E0
:0040FA97 83C404 add esp, 00000004
:0040FA9A 85C0 test eax, eax
:0040FA9C 0F8474010000 je 0040FC16 >Quinta
comprobación
:0040FAA2 8B842440010000 mov eax, dword ptr [esp+00000140]
:0040FAA9 0FBE4804 movsx ecx, byte ptr [eax+04]
:0040FAAD 51 push ecx
:0040FAAE E82D7E0500 call 004678E0
:0040FAB3 83C404 add esp, 00000004
:0040FAB6 85C0 test eax, eax
:0040FAB8 0F8458010000 je 0040FC16 >Sexta
comprobación
:0040FABE 8B942440010000 mov edx, dword ptr [esp+00000140]
:0040FAC5 0FBE4205 movsx eax, byte ptr [edx+05]
:0040FAC9 50 push eax
:0040FACA E8117E0500 call 004678E0
:0040FACF 83C404 add esp, 00000004
:0040FAD2 85C0 test eax, eax
:0040FAD4 0F843C010000 je 0040FC16 >Séptima
comprobación
:0040FADA 8B8C2440010000 mov ecx, dword ptr [esp+00000140]
:0040FAE1 0FBE5106 movsx edx, byte ptr [ecx+06]
:0040FAE5 52 push edx
:0040FAE6 E8F57D0500 call 004678E0
:0040FAEB 83C404 add esp, 00000004
:0040FAEE 85C0 test eax, eax
:0040FAF0 0F8420010000 je 0040FC16 >Octava
comprobación
:0040FB55 69C951ED8764 imul ecx, 6487ED51
:0040FB5B 3BC1 cmp eax, ecx
:0040FB5D 0F85B3000000 jne 0040FC16 >Novena comprobación
5.
Bien. Tenemos nueve bonitas comprobaciones.
¡Vamos a corregirlas, como lo hacemos normalmente! Cambiamos los ‘JNE’ a ‘JE’
y los ‘JE’ a ‘JNE’. No creo que sea necesario explicar cómo hacer esto con
HIEW. Si no sabe cómo hacerlo, lea mis anteriores tutoriales o eche un vistazo
a los demás tutoriales cracking de tKC.
6.
¿Ya lo ha hecho? Bien, vamos a intentar
nuevamente registrarnos.
¡Enhorabuena! ¡Ya es un usuario registrado!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracias a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe